Registros de datos de orquídeas en el territorio nacional.

Preparativos

Carga de paquetes

library(sf)
library(DT)
library(leaflet)
library(dplyr)
library(leafem)
library(leaflet.extras)
library(plotly)
library(spData)
library(tidyr)
library(raster)
library(rmapshaper)

Carga de datos

# Carga datos de provincias
provincias <- 
  st_read(
    "https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_provincias_simp_wgs84.geojson",
    quiet = TRUE
  ) 

# Carga datos de registros de presencia de orquídeas
orquideas_CRS <-
  st_read(
    "https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/orchidaceae-cr-registros.csv",
    options = c(
      "X_POSSIBLE_NAMES=decimalLongitude",
      "Y_POSSIBLE_NAMES=decimalLatitude"
    ),
    quiet = TRUE
  )

# Carga de la capa de áreas silvestres protegidas (ASP)
areas_silvestres_CRS <-
  st_read(
    "https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/sinac/asp/asp-wgs84.geojson",
    quiet = TRUE
  )

# Asignación del sistema de coordenadas
st_crs(orquideas_CRS) = 4326
st_crs(areas_silvestres_CRS) = 4326

Cambio de tipo de datos

orquideas_CRS <- 
  orquideas_CRS%>%
  mutate(coordinateUncertaintyInMeters = as.numeric(coordinateUncertaintyInMeters))%>%
  mutate(eventDate = as.Date(eventDate, "%Y-%m-%d"))

Limpieza de registros de presencia

# Eliminar registros de presencia de orquideas 
orquideas_CRS$species[orquideas_CRS$species == ""] <- "Nulo"

orquideas_CRS <- orquideas_CRS %>%
  filter(!is.na(coordinateUncertaintyInMeters) & coordinateUncertaintyInMeters <= 1000) %>% filter(species!="Nulo")

cat("Cantidad de registros después de descartar los de alta incertidumbre en la ubicación: ", nrow(orquideas_CRS))
## Cantidad de registros después de descartar los de alta incertidumbre en la ubicación:  646
areas_silvestres_CRS <- areas_silvestres_CRS %>%
  filter(descripcio!="Area Marina de Manejo" & descripcio!="Area marina protegida")
cat("Cantidad de registros después de eliminar los registros con valor de “Area Marina de Manejo” o “Area marina protegida”  ", nrow(areas_silvestres_CRS))
## Cantidad de registros después de eliminar los registros con valor de “Area Marina de Manejo” o “Area marina protegida”   148

Procesamiento y visualización

Mapa de cantidad de registros por provincia

# Creación de conjunto de datos con la cantidad de especies 
registros_asp_CRS <-
  areas_silvestres_CRS %>%
  st_make_valid() %>%
  st_join (orquideas_CRS) %>%
  group_by (nombre_asp) %>%
  summarize(especies = n())

# Asignar CRS al conjunto anterior
st_crs(registros_asp_CRS) = 4326
# Mapa

# Paleta de colores
colores_especies <-
  colorNumeric(palette = "Reds",
               domain = registros_asp_CRS$especies,
               na.color = "transparent")

# Mapa Registro de orquídeas
leaflet() %>%
  addTiles(group = "OSM") %>%
  addPolygons(
    data = registros_asp_CRS,
    fillColor = ~ colores_especies(registros_asp_CRS$especies),
    fillOpacity = 0.7,
    stroke = TRUE,
    color = "black",
    weight = 1,
    popup = paste(
      paste(
        "<strong>areas_silvestres_CRS:</strong>",
        registros_asp_CRS$nombre_asp
      ),
      paste(
        "<strong>Cantidad de orquideas:</strong>",
        registros_asp_CRS$especies
        
      ),
      sep = '<br/>'
    ),
    group = "areas_silvestre_CRS - especies de orquideas"
  ) %>%
  addLayersControl(baseGroups = c("OSM"),
                   overlayGroups = c("areas_silvestres_CRS - especies de orquideas")) %>%
  addLegend(
    position = "bottomleft",
    pal = colores_especies,
    values = registros_asp_CRS$especies,
    group = "areas_silvestres_CRS - especies",
    title = "Cantidad de orquideas")